從 index 2 的位置取到 index 4 的位置.
>>> 'abcdefg'[2:5]
'cde'
從起始位置 index 0 開始取到 index 4 的位置.
>>> 'abcdefg'[:5]
'abcde'
從 index 3 的字串開始取到最後.
>>> 'abcdefg'[3:]
'defg'
從 index 0 到 6 的字串,每 2 位取一次.
>>> 'abcdefg'[0:7:2]
'aceg'
取得倒數第 2 個字.
>>> 'abcdefg'[-2]
'f'
從倒數第 3 位開始取到最後.
>>> 'abcdefg'[-3:]
'efg'
從 index 1 的位置取到倒數第 4 位.
>>> 'abcdefg'[1:-3]
'bcd'
從倒數第 5 位開始取到倒數第 2 位.
>>> 'abcdefg'[-5:-1]
'cdef'
取得字串長度
>>> len('abcdefg')
7
用來根據某個字串分割字串
>>> 'item1,item2,item3'.split(',')
['item1', 'item2', 'item3']
>>> 'item1,item2,item3'.split('it')
['', 'em1,', 'em2,', 'em3']
取代字串
>>> 'abcdefg'.replace('bcd','***')
'a***efg'
去掉所有空白
>>> ' hello python wor ld '.replace(' ','')
'hellopythonworld'
使用 replace 去掉空白的方法,無法去掉跳脫字元.
>>> s = ' he \t llo \n python'
>>> print(s.replace(' ',''))
he llo
python
這時候可使用 split 搭配 join 的方式去掉所有空白及跳脫字元.
>>> print(''.join(s.split()))
hellopython
判斷開始字串以及結尾字串.
>>> file_name = 'aaa.txt'
>>> file_name.endswith('.txt')
True
>>> file_name.endswith('aaa',0,3)
True
>>> file_name.startswith('aaa',0,3)
True
可以用來找 string 裡的字串,返回找到該字串的 index,找不到返回 -1.
>>> file_name.find('.')
3
>>> file_name.find('tx')
4
>>> file_name.find('a')
0
>>> file_name.find('g')
-1
可以用來去除字串前後空白.
>>> ' hello python world '.strip()
'hello python world'
boolean 只有兩個值就是 True 跟 False.
>>> type(True)
<class 'bool'>
>>> type(False)
<class 'bool'>
在 python 裡可以自動幫忙將其他型別自動轉成 boolean 值來判斷.
判斷字串是否為空值.
>>> bool('')
False
>>> bool('Hello')
True
int 為 0 代表 False 大於 0 為 True.
>>> bool(0)
False
>>> bool(1)
True
>>> bool(5)
True
浮點數也是 0 為 False 大於 0 為 True.
>>> bool(0.0)
False
>>> bool(0.0001)
True
list 是空的為 False,反之為 True.
>>> bool([1,2,3])
True
>>> bool([])
False
None 通常代表該變數還沒有綁定任何型態的值.
>>> print_words = print('Hello World')
Hello World
>>> print(print_words)
None
型態是 NoneType.
>>> type(None)
<class 'NoneType'>
而且 None 是 singleton,代表在環境中只會有一個 None instance.所以用 id 來看記憶體的位址都會是相同的值.
>>> print_words_1 = print('Hi python')
Hi python
>>> id(print_words)
4549804120
>>> id(print_words_1)
4549804120
>>> print_words is print_words_1
True
None 在 boolean 值是 False.
>>> bool(None)
False